1. Field of the Invention
This invention provides a method and apparatus for preventing unauthorized access to programs and non-executable files stored on a personal computer, in particular, dialer programs, such that rogue programs installed on the personal computer by someone other than the owner/user are disabled when executed.
2. Description of Related Art
Today""s personal computer (PC) systems typically include a modem and corresponding software, such as a dialer program, so that the PC may access other computers or a telephone via the telephone line. Typically, upon initializing the modem by selecting the dialer program or a related program, the user is notified when a call is being made by the PC. However, this notification may be disabled without the PC user""s consent or knowledge. When the modem has made an active connection to another computer, information may be exchanged with the other computer. Unauthorized access to the PC may be gained through the modem and rogue programs may be installed on the PC without the user""s knowledge or active participation. A rogue dialer program surreptitiously installed on the PC may not only disable any notification to the user that the PC is dialing out but may also surreptitiously dial out when the computer is turned on. This may result in extremely high telephone charges for the unsuspecting PC owner. Thus, it would be highly desirable to find a way to prevent unauthorized access to the PC and, in addition, disable rogue programs which may have been surreptitiously installed on the PC.
Bearing in mind the problems and deficiencies of the prior art, it is therefore an object of the present invention to provide a method and apparatus of preventing unauthorized access to a PC.
It is another object of the present invention to provide a method and apparatus for disabling programs installed on a PC without the owner/user""s authorization and knowledge.
A further object of the invention is to provide a method and apparatus for ensuring the PC is not used to make surreptitious telephone calls.
It is yet another object of the present invention to provide a method and apparatus for disabling a rogue dialer program from making surreptitious telephone calls via the PC.
Still other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification.
The above and other objects and advantages, which will be apparent to one of skill in the art, are achieved in the present invention which is directed to, in a first aspect, a method of protecting a dialer program on a personal computer from unauthorized access comprising the steps of: (a) creating a protected storage area on the personal computer; (b) installing the dialer program on the personal computer in the protected storage area; and (c) preventing modifications to the dialer program when unauthorized access to the dialer program is detected.
Preferably, the method of protecting a dialer program on a personal computer from unauthorized access further includes the steps of: (i) detecting access to the dialer program; (ii) requesting a password when access to the dialer program is detected; and (iii) validating the password prior to allowing a modification to the dialer program. Preferably, the method may further include the step of creating a protected memory area on the personal computer wherein the dialer program is loaded into the protected memory area from the protected storage area when the dialer program is initialized. The method may further include the step of creating a program storage table comprising entries of programs stored in the protected storage area and during step (b) an entry may be created for the dialer program in the program storage table. Preferably, during step (b) a dialer program without an entry in the program storage table may be disabled when engaged. During step (c), preferably, a user of the personal computer is notified when unauthorized access to the dialer program is detected.
In another aspect, the present invention is directed to a method of controlling a dialer program on a personal computer comprising the steps of: (a) creating a protected storage area on the personal computer; (b) storing the dialer program in the protected storage area; (c) requesting an acknowledgement when a modification to the dialer program is initiated; and (d) preventing access to the dialer program when the acknowledgement is invalid. The method may further include the step of .
Preferably, the method further includes the steps of validating the acknowledgement; the step of creating a protected memory area on the personal computer wherein the dialer program is loaded into the protected memory area when the dialer program is initialized; and the step of creating a program storage table comprising entries of programs which are stored in the protected storage area. After step (b), the step of creating an entry in the program storage table for the dialer program may be further included.
The step of creating a program function table comprising entries for each program stored in the protected storage area may also be included in the present method. Each entry in the program function table may comprise a program function for each program stored in the protected storage area. Thus, preferably, after step (b), the step of creating an entry in the program function table for the dialer program is included.
In another aspect, the present invention is directed to a method of protecting a dialer program on a personal computer from unauthorized access, the personal computer having a protected storage area and a program storage table comprising the steps of: (a) installing and storing the dialer program in the protected storage area; (b) creating an entry for the dialer program in the program storage table; detecting any attempts to modify the dialer program; (c) determining whether the dialer program has an entry in the program storage table when an attempt to modify the dialer program is detected; (d) requesting an acknowledgement when an attempt to modify the dialer program having an entry in the program storage table is detected; (e) preventing modification of the dialer program when an invalid acknowledgement is received; and (f) allowing modification of the dialer program when a valid acknowledgment has been received.
Preferably, the method may further include the step of creating a program function table wherein only programs having an entry in the program function table may be loaded into a random access memory of the personal computer; the step of disabling any programs which do not have an entry in the program function table; the step of creating an entry for the dialer program in the program function table; and the step of determining whether the dialer program has an entry in the program function table such that upon initializing the dialer program, the dialer program is loaded onto a protected memory area of the personal computer.
Preferably, step (e) comprises requesting a password when an attempt to modify the dialer program having an entry in the program storage table is detected. Most preferably, step (e) further includes validating the acknowledgement when an acknowledgement is received.
In still another aspect, the present invention is directed to a method of ensuring that a personal computer is not used to make surreptitious telephone calls comprising the steps of: (a) storing a dialer program in a protected storage area on the personal computer; (b) providing a program storage table; (c) creating an entry for the dialer program in the program storage table; (d) providing a program function table; (e) creating an entry comprising a dialing function for the dialer program in the program function table wherein the personal computer may only use the dialer program to dial; and (f) disabling other dialer programs installed on the personal computer outside of the protected storage area having no entries in the program storage table and the program function table.
Preferably, step (b) comprises providing a program storage table for monitoring programs stored in the protected storage area. Preferably, step (d) comprises providing a program function table for monitoring functions of programs stored in the protected storage area having entries in the program storage table wherein only those functions entered in the program function table are executable.
The method may further include the step of requesting an acknowledgement when an attempt to modify the dialer program stored in the protected storage area is detected; the step of denying access to the dialer program when the acknowledgement is invalid; the step of providing access to the dialer program when the acknowledgement is valid; the step of notifying a user of the personal computer when the other dialer programs are installed on the personal computer outside of the protected storage area; and the step of providing a protected memory area wherein the dialer program is copied into the protected memory area from the protected storage area when the dialer program is initialized.
In still another aspect, the present invention is directed to a method of preventing a dialer program from being installed on a personal computer having an existing dialer program comprising the steps of: (a) providing a protected storage area in the personal computer; (b) providing a protected memory area on the personal computer; (c) storing the existing dialer program in a protected storage area of the personal computer; (d) loading the dialer program into the protected memory area when the dialer program is initialized; (e) providing a program storage table and creating an entry for the existing dialer program in the program storage table such that access to the existing dialer program is provided only upon receipt of a valid password; (f) providing a program function table and creating an entry for the existing dialer program in the program function table such that only those functions listed in the program function table are executable by the personal computer; (g) preventing access to the program storage table, the program function table and the existing dialer program without receipt of a valid password; and (h) disabling an other dialer program when the other dialer program is installed and initialized on the personal computer.
In still yet another aspect, the present invention is directed to a method of installing a dialer program on a personal computer wherein the dialer program is protected from unauthorized access comprising the steps of: (a) installing the dialer program in a protected storage area of the personal computer; (b) entering an identifier for the dialer program in a program storage table wherein those programs stored in the protected storage area are entered in the program storage table requiring a valid acknowledgement prior to modification of the programs; and (c) entering a function for the dialer program in a program function table wherein only those programs entered in the program function table may execute a program function.
In still yet another aspect, the present invention is directed to a method of creating and utilizing a program storage table on a personal computer comprising the steps of: (a) providing a protected storage area on the personal computer; (b) installing programs in the protected storage area; (c) creating a program storage table comprising entries for each program stored in the protected storage area; (d) requesting an acknowledgement when a modification to the programs in the protected storage area having an entry in the program storage table is detected; (e) preventing modification of the programs in the protected storage area having an entry in the program storage table when an invalid acknowledgement is received; and (f) allowing modification of the programs in the protected storage area having an entry in the program storage table when a valid acknowledgement is received.
Preferably, step (b) comprises installing a dialer program in the protected storage area, wherein during step (c) an entry for the dialer program is entered into the program storage table, wherein step (d) comprises requesting a password when a modification to the dialer program is detected, and wherein step (e) comprises preventing modification of the dialer program when the password is invalid.
In still yet another aspect, the present invention is directed to a method of creating and utilizing a program function table on a personal computer comprising the steps of: (a) providing a protected storage area on the personal computer; (b) installing programs in the protected storage area; (c) creating a program function table comprising entries for each program stored in the protected storage area, each entry comprising a function of each program stored in the protected storage area; (d) creating an entry for the programs installed in the protected storage area in the program function table; (e) determining whether an entry exists in the program function table when a program is initialized; (f) disabling the initialized program when the initialized program has no entry in the program function table; and (g) executing the initialized program when the initialized program has an entry in the program function table.
Preferably, step (b) comprises installing a dialer program in the protected storage area; step (d) comprises creating an entry for the dialer program in the program function table, the entry comprising a dialer function; and wherein upon initialization of the dialer program, an entry in the program function table for the dialer program allows the dialer function to be executed. Preferably, during step (g) executable files of the initialized program is copied from the protected storage area to a random access memory of the personal computer.
In still yet another aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for protecting a dialer program from unauthorized access, the method steps comprising: (a) providing a protected storage area; (b) storing the dialer program in the protected storage area; (c) providing a protected memory area wherein the dialer program is loaded into the protected memory area when the dialer program is initialized; (d) providing a means for controlling access to the protected storage area; (e) permitting access to the protected storage area only when a valid acknowledgement is received; and (f) preventing modifications to the dialer program when unauthorized access is detected.
In a further aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for protecting a dialer program from unauthorized access, the method steps comprising: (a) providing a protected storage area; (b) providing a protected storage table comprising entries for programs stored in the protected storage area; (c) storing the dialer program in the protected storage area; (d) storing an entry for the dialer program in the program storage table; (e) detecting modifications to the dialer program; (f) determining whether the dialer program, has an entry in the program storage table when an attempt to modify the dialer program is detected; (g) requesting an acknowledgement when an entry in the program storage table exists for the dialer program; (h) preventing modification of the dialer program when an invalid acknowledgement is received; and (i) allowing modification of the dialer program when a valid acknowledgement is received.
In a further aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for ensuring that a personal computer is not used to make surreptitious telephone calls, the method comprising the steps of: (a) storing a dialer program in a protected storage area; (b) providing a program storage table; (c) creating an entry for the dialer program in the program storage table; (d) providing a program function table; (e) creating an entry for the dialer program in the program function table wherein only the dialer program may be utilized by the personal computer to dial; and (f) disabling other dialer programs not installed in the protected storage area having no entries in the program storage table and the program function table.
In still a further aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for preventing a dialer program from being installed on a personal computer having an existing dialer program, the method comprising the steps of: (a) providing a protected storage area; (b) storing the existing dialer program in the protected storage area; (c) providing a program storage table and creating an entry for the existing dialer program in the program storage table such that access to the existing dialer program is provided only upon receipt of a valid password; (d) providing a program function table and creating an entry for the existing dialer program in the program function table such that only those functions listed in the program function table are executable by the personal computer; (e) preventing access to the program storage table, the program function table and the existing dialer program without receipt of a valid password; and (f) disabling an other dialer program when the other dialer program is installed and initialized on the personal computer.
In still yet a further aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for creating an utilizing a program storage table, the method comprising: (a) providing a protected storage area; (b) installing programs in the protected storage area; (c) creating a program storage table comprising entries for each program stored in the protected storage area; (d) requesting an acknowledgement when a modification to the programs in the protected storage area is detected; (e) preventing modification of the programs in the protected storage area when an invalid acknowledgement is received; and (f) allowing modification of the programs in the protected storage area when a valid acknowledgement is received.
In still yet a further aspect, the present invention is directed to a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for creating and utilizing a program function table, the method comprising: (a) providing a protected storage area; (b) installing programs in the protected storage area; (c) creating a program function table comprising entries for each program stored in the protected storage area, each entry further including a function of each program stored in the protected storage area; (d) creating an entry for the programs installed in the protected storage area in the program function table; (e) determining whether an entry exists in the program function table when a program is initialized; (f) disabling the initialized program when the initialized program has no entry in the program function table.
In yet a further aspect, the present invention is directed to a computer program product comprising a computer usable medium having computer readable program code means embodied therein for protecting a dialer program from unauthorized access, the computer program product having: computer readable program code means for causing a computer to create a protected storage area; computer readable program code means for causing the computer to create a protected memory area; computer readable program code means for causing the computer to store the dialer program in the protected storage area; computer readable code means for causing the computer to load the dialer program into the protected memory area when the dialer program is initialized; and computer readable program code means for causing the computer to prevent modifications to the dialer program when unauthorized access to the dialer program is detected.
In yet a further aspect, the present invention is directed to a computer program product comprising a computer usable medium having computer readable program code means embodied therein for controlling a dialer program, the computer program product having: computer readable program code means for causing a computer to create a protected storage area; computer readable program code means for causing the computer to store the dialer program in the protected storage area; computer readable program code means for causing the computer to create a protected memory area; computer readable code means for causing the computer to load the dialer program into the protected memory area when the dialer program is initialized; computer readable program code means for causing the computer to request an acknowledgement when a modification to the dialer program is initiated; and computer readable program code means for causing the computer to prevent access to the dialer program when the acknowledgement is invalid.
In yet another aspect, the present invention is directed to a computer program product comprising a computer usable medium having computer readable program code means embodied therein for protecting a dialer program from unauthorized access, the computer program product having: computer readable program code means for causing a computer to create a protected storage area; computer readable program code means for causing the computer to create a protected memory area wherein upon initialization of the dialer program, the dialer program is loaded into the protected memory area; computer readable program code means for causing the computer to create a program storage table; computer readable program code means for causing the computer to create an entry for the dialer program in the program storage table; computer readable program code means for causing the computer to detect any attempts to modify the dialer program; computer readable program code means for causing the computer to determine whether the dialer program has an entry in the program storage table when an attempt to modify the dialer program in detected; computer readable program code means for causing the computer to request an acknowledgement; computer readable program code means for causing the computer to prevent modification of the dialer program when an invalid acknowledgement is received; and computer readable program code means for causing the computer to allow modification of the dialer program when a valid acknowledgement is received.
In yet another aspect, the present invention is directed to a computer program product comprising: a computer usable medium having computer readable program code means embodied therein for ensuring that a personal computer is not used to make surreptitious telephone calls, the computer program product having: computer readable program code means for causing a computer to store a dialer program in a protected storage area on the personal computer; computer readable program code means for causing the computer to copy the dialer program into a protected memory area from the protected storage area; computer readable program code means for causing the computer to provide a program storage table; computer readable program code means for causing the computer to create an entry for the dialer program in the program storage table; computer readable program code means for causing the computer to provide a program function table; computer readable program code means for causing the computer to create an entry comprising a dialer function for the dialer program wherein only the dialer program may be used to dial; and computer readable program code means for causing the computer to disable other dialer programs not installed in the protected storage area without entries in the program storage table and the program function table.
In yet a further aspect, the present invention is directed to a computer program product comprising: a computer usable medium having computer readable program code means embodied therein for preventing a dialer program from being installer on a personal computer having an existing dialer program, the computer program product having: computer readable program code means for causing a computer to provide a protected storage area; computer readable program code means for causing the computer to store the existing dialer program in the protected storage area; computer readable program code means for causing the computer to provide a program storage table and create an entry for the existing dialer program in the program storage table such that access to the existing dialer program is provided only upon receipt of a valid password; computer readable program code means for causing the computer to provide a program function table and create an entry for the existing dialer program in the program function table such that only those functions listed in the program function table are executable; computer readable program code means for causing the computer to prevent access to the program storage table, the program function table and the existing dialer program without receipt of a valid password; and computer readable program code means for causing the computer to disable an other dialer program when the other dialer program is installed and initialized on the personal computer.
In yet a further aspect, the present invention is directed to a computer program product comprising: a computer usable medium having computer readable program code means embodied therein for creating and utilizing a program storage table, the computer program product having: computer readable program code means for causing a computer to provide a protected storage area; computer readable program code means for causing the computer to store programs in the protected storage area; computer readable program code means for causing the computer to create a program storage table comprising entries for each program stored in the protected storage area; computer readable program code means for causing the computer to detect any attempts to modify the programs in the protected storage area having an entry in the program storage table; computer readable program code means for causing the computer to request an acknowledgement when a modification to the programs in the protected storage area having an entry in the program storage table is detected; computer readable program code means for causing the computer to validate the acknowledgement; computer readable program code means for causing the computer to prevent modification of the programs in the protected storage area having an entry in the program storage table when an invalid acknowledgement is received; computer readable program code means for causing the computer to allow modification of the programs in the protected storage area having an entry in the program storage table when a valid acknowledgement is received.
In a final aspect, the present invention is directed to a computer program product comprising: a computer usable medium having computer readable program code means embodied therein for creating and utilizing a program function table, the computer program product having: computer readable program code means for causing a computer to provide a protected storage area; computer readable program code means for causing the computer to store programs in the protected storage area; computer readable program code means for causing the computer to create a program function table comprising entries for each program stored in the protected storage area, each entry comprising a function of each program stored in the protected storage area; computer readable program code means for causing the computer to create an entry for the programs stored in the protected storage area in the program function table; computer readable program code means for causing the computer to determine whether an entry exists in the program function table when a program is initialized; computer readable program code means for causing the computer to disable a program that is initialized when the program has no entry in the program function table; and computer readable program code means for causing the computer to execute a program that is initialized when the program has an entry in the program function table.